from eslib import FFMatcher

# 使用ujson，这是为了更适合micropython，用json也一样
import ujson


# 收到数据包后引发
def recv_callback(data):  # 收到的是bytes
    # 还原成json
    djson = ujson.loads(data.decode("utf-8"))
    print("package callback:", djson)


# 原始数据
obj = {"name": "家明", "honey": "婉君"}
oriData = ujson.dumps(obj).encode("utf-8")


ffm = FFMatcher()
# 设置callabck
ffm.SetMatchCallback(recv_callback)

# 按ff协议编码
encodedData = ffm.EncodeData(oriData)
# print("encoded data:", encodedData.hex())
print("encoded data:", encodedData)

# 将编好码的数据重新传入,由齐数据包会触发callback
ffm.InStream(encodedData)
